iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0

今天,我們將要進入Vector3與CFrame中最複雜的部分-旋轉角度


3. Rotation

旋轉角度的更改方式,通用的方法為在定義CFrame屬性時多乘以一個CFrame.Angles(或其他的相關屬性)

local Part = script.Parent
Part.CFrame *= CFrame.Angles(1, 0, 0)

而我們也可以透過弧度來改變一項物件的旋轉角度,使用我們在math函式所提到的 math.rad() 函式

local Part = script.Parent
Part.CFrame *= CFrame.Angles(math.rad(1), ...)--Y與Z省略

也可以使用度數來改變,使用 math.deg() 函式

local Part = script.Parent
Part.CFrame *= CFrame.Angles(math.deg(1), ...)--Y與Z省略

以下是所有根據不同的角度函數所旋轉的物件示意圖
https://ithelp.ithome.com.tw/upload/images/20250823/20169664Aj8zslCkJK.png

角度與弧度的換算公式
rad = math.pi/180 * deg
deg = 180/math.pi * rad

各位真的非常對不起,小弟我才剛升高二,相關的內容我還沒有學到,如果有略懂弧度與角度的換算的大神歡迎指正

目前可以得知,使用math.rad()函式可以將CFrame屬性中的Orientation子屬性的值改為你所給予的值,使用math.deg與直接給予數值都無法直接改變,除非你直接將Orientation的值改變 (就是直接到屬性頁面改屬性值),另外,如果想使用到CFrame屬性中的Orientation子屬性,請注意名稱會變為Rotation而非Orientation


昨天的解答:

local Part = Workspace.Part
Part.Size = Vector3.new(1, 0, 0)
task.wait(1) --或wait(1)
Part.Size = Vector3.new(5, 1, 0)

今天就不出題目了,給各位自己應用與吸收


上一篇
Day 11: Vector3與CFrame (2)
下一篇
Day 13: 使用者介面
系列文
透過Roblox Studio學習Lua語言與基本程式邏輯21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言